﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ActivePalInterop.Data
{
    /// <summary>
    /// Mirrors a tblSessions table in a database
    /// </summary>
    public class Session
    {
        #region Properties

        /// <summary>
        /// Session guid id, stored in a database
        /// </summary>
        public Guid SessionId { get; private set; }

        /// <summary>
        /// Person guid id, stored in a database
        /// </summary>
        public Guid PersonId { get; set; }

        /// <summary>
        /// Start activity monitoring date
        /// </summary>
        public DateTime DateFrom { get; set; }

        /// <summary>
        /// End of activity monitoring date
        /// </summary>
        public DateTime DateTo { get; set; }

        /// <summary>
        /// Gets or sets a data file location for the session 
        /// </summary>
        public string DataFilePath { get; set; }

        /// <summary>
        /// Gets or sets the monitor serial number
        /// </summary>
        public string MonitorSerialNumber { get; set; }

        /// <summary>
        /// Gets or sets the session name
        /// </summary>
        public string SessionName { get; set; }

        /// <summary>
        /// Gets or sets the session comments
        /// </summary>
        public string SessionComments { get; set; } 

        #endregion

        /// <summary>
        /// Creates new object with initialized GUIDs
        /// </summary>
        public Session(Guid personId)
        {
            SessionId = Guid.NewGuid();
            PersonId = personId;
        }
    }
}
